package com.yuke.cloud.service.wmc.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import java.util.Date;

@Data
public class AssGoodsReturnDto {

    /**
     * 主键，自增
     */
    @ApiModelProperty(value = "goodsReturnId主键，自增")
    private Long goodsReturnId;

    /**
     * 关联原单号
     */
    @Column(name = "order_id")
    @ApiModelProperty(value = "orderId关联原单号")
    private Long orderId;

    /**
     * 订单号，唯一
     */
    @Column(name = "order_sn")
    @ApiModelProperty(value = "orderSn订单号，唯一")
    private String orderSn;

    /**
     * 要退货的商品ID
     */
    @Column(name = "order_goods_id")
    @ApiModelProperty(value = "orderGoodsId要退货的商品ID")
    private Long orderGoodsId;

    /**
     * 订单类型， 0：未知；1：消费者向店铺下单；2：店铺向平台仓库下单
     */
    @Column(name = "order_type")
    @ApiModelProperty(value = "orderType订单类型， 0：未知；1：消费者向店铺下单；2：店铺向平台仓库下单")
    private Byte orderType;

    /**
     * 订单用户ID，与用户表关联
     */
    @Column(name = "user_id")
    @ApiModelProperty(value = "userId订单用户ID，与用户表关联")
    private Long userId;

    /**
     * 店铺ID
     */
    @Column(name = "shop_id")
    @ApiModelProperty(value = "shopId店铺ID")
    private Long shopId;


    /**
     * 退货状态， 0：未收货；1：确认/已收货；2：质检通过；3：质检不通过/退回完成；4：入库/退货完成。5：退货申请待确认；6：商户确认同意处理；7：商户确认并拒绝退货/退款
     */
    @Column(name = "return_status")
    @ApiModelProperty(value = "returnStatus退货状态， 0：未收货；1：确认/已收货；2：质检通过；3：质检不通过/退回完成；4：入库/退货完成。5：退货申请待确认；6：商户确认同意处理；7：商户确认并拒绝退货/退款")
    private Byte returnStatus;

    /**
     * 是否已完成退款， 0：未退款；1：已退款
     */
    @Column(name = "is_refund")
    @ApiModelProperty(value = "isRefund是否已完成退款， 0：未退款；1：已退款")
    private Boolean isRefund;

    /**
     * 退款方式，  1：原路退回；2：其他
     */
    @Column(name = "refund_type")
    @ApiModelProperty(value = "refundType退款方式，  1：原路退回；2：其他")
    private Byte refundType;


    /**
     * 开始时间
     */
    @Column(name = "create_time")
    @ApiModelProperty(value = "createTime退货申请时间")
    private Date beginTime;


    /**
     * 结束时间
     */
    @Column(name = "create_time")
    @ApiModelProperty(value = "createTime退货申请时间")
    private Date endTime;

    /**
     * 仓库id
     */
    @ApiModelProperty(value = "仓库id")
    private Long warehouseId;

}
